// pages/Classification/Classification.js
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    search: "123",
    height: 0,
    navBar: {},
    navList: [],
    contentList: [],
    actIndex: 0,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const that = this
    this.setData({
      navBar: app.globalData.navBar
    })
    // 设置屏幕可用高度
    this.setData({
      height: wx.getSystemInfoSync().windowHeight - that.data.navBar.navigationBarAndStatusBarHeight
    })
    // 调函数获取左侧导航栏
    // 调用函数获取右侧内容第一项
    this.getNavList()

    let data = [{
      name: '水果',
      content: [{}]
    }]
    this.setData({
      navList: [{
        name: '水果',
      }]

    })
    // 设置右侧
    this.getGoodsList('FF2CD6D6-9CB4-9AEE-7129-E40F15B38A22')
  },

  
  // 添加购物车
  addCart(e) {
    // 遍历列表 与 购物车列表
    for (var i in this.data.contentList) {
      // 列表中某一项item的id == 点击事件传递过来的id。则是被点击的项
      if (this.data.contentList[i].id == e.currentTarget.id) {
        // 给goodsList数组的当前项添加count元素，值为1，用于记录添加到购物车的数量
        this.data.contentList[i].count = 1;
        this.data.contentList[i].isSelect = true;
        // 获取购物车的缓存数组（没有数据，则赋予一个空数组）
        var cart = wx.getStorageSync('cart') || [];
        // 如果购物车有数据
        if (cart.length > 0) { 
          // 遍历购物车数组
          for (var j in cart) {
            // 判断购物车内的item的id，和事件传递过来的id，是否相等
            if (cart[j].id == e.currentTarget.id) {
              // 相等的话，给count+1（即再次添加入购物车，数量+1）
              cart[j].count = cart[j].count + 1;
              // 最后，把购物车数据，存放入缓存（此处不用再给购物车数组push元素进去，因为这个是购物车有的，直接更新当前数组即可）
              try {
                wx.setStorageSync('cart', cart)
              } catch (e) {
                console.log(e)
              }
              // 返回（在if内使用return，跳出循环节约运算，节约性能）
              return;
            }
          }
          // 遍历完购物车后，没有对应的item项，把contentList的当前项放入购物车数组
          cart.push(this.data.contentList[i]);
        }
        // 购物车没有数据，把item项push放入当前数据（第一次存放时）
        else {
          cart.push(this.data.contentList[i]);
        }
        // 最后，把购物车数据，存放入缓存
        try {
          wx.setStorageSync('cart', cart)
          // 返回（在if内使用return，跳出循环节约运算，节约性能）
          return;
        } catch (e) {
          console.log(e)
        }
      }
    }
  },


  // 获取并设置左侧导航栏
  async getNavList() {
    const {
      result: {
        data: {
          data: {
            navList
          }
        }
      }
    } = await wx.cloud.callFunction({
      name: 'getNavList'
    })
    this.setData({
      navList
    })

  },

  // 获取并设置右侧内容区
  async getGoodsList(navId) {
    const {
      result: {
        data
      }
    } = await wx.cloud.callFunction({
      name: 'getGoodsContent',
      data: {
        navId
      }
    })
    this.setData({
      contentList: data[0].contentList
    })

  },

  // 改变导航
  changeNav(e) {
    // 展示左侧导航内容
    let {
      currentTarget: {
        dataset: {
          index
        }
      }
    } = e
    let {
      currentTarget: {
        id
      }
    } = e
    this.setData({
      actIndex: index
    })
    // 展示右侧内容
    this.getGoodsList(id)

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})